package io.gitee.yth.design.pattern.test.core.pattern.behavioral.observer.chman;

import io.gitee.yth.design.pattern.test.core.pattern.behavioral.observer.IObserver;
import io.gitee.yth.design.pattern.test.core.pattern.behavioral.observer.ISubject;

/**
 * 当目标和观察者关系复杂时，引入changeManager（Mediator模式）
 * <p>
 * changeManager对关系进行统一维护
 *
 * @author yth
 * @since 2023-04-30-16:05
 */
public interface IChangeManager {

    void register(ISubject subject, IObserver observer);

    void unregister(ISubject subject, IObserver observer);

    void notifyObservers(ISubject subject);

}
